//
//  LogUtils.h
//  OCDemo
//
//  Created by zhumuzhi on 2021/7/30.
//  打印工具类(待优化，想将方法优化同NSLog一样，可以多参数)
//  ✅ Debug
//  ‼️ Error
//  ⚠️ Warning
//  ℹ️ Info
//  ⚪ Verbose


NS_ASSUME_NONNULL_BEGIN

#if DEBUG
// BOOL shouldLog = YES;
#else
#endif

typedef NS_ENUM (NSUInteger, LogType) {
    LogTypeError = 1,
    LogTypeWarning,
    LogTypeInfo,
    LogTypeDebug,
    LogTypeVerbose,
};


#pragma mark - LogUtilsFormatter

@interface LogUtilsFormatter : NSObject

+ (instancetype)shared;

@end


#pragma mark - LogUtils

@interface LogUtils : NSObject

/// LogError ‼️
//+ (void)logError:(NSString *)format, ... NS_FORMAT_FUNCTION(1,2);

+ (void)logError:(NSString *)message;


/// LogWarning ⚠️
//+ (void)logWarning:(NSString *)format, ... NS_FORMAT_FUNCTION(1,2);

+ (void)logWarning:(NSString *)message;

/// LogInfo ℹ️
//+ (void)logInfo:(NSString *)format, ... NS_FORMAT_FUNCTION(1,2);

+ (void)logInfo:(NSString *)message;

/// LogDebug ✅
//+ (void)logDebug:(NSString *)format, ... NS_FORMAT_FUNCTION(1,2);

+ (void)logDebug:(NSString *)message;

/// LogVerbose ⚪
//+ (void)logVerbose:(NSString *)format, ... NS_FORMAT_FUNCTION(1,2);
+ (void)logVerbose:(NSString *)message;

+ (void)log:(NSString *)log type:(LogType)LogType file:(NSString *)file func:(NSString *)func line:(NSString *)line;

@end




NS_ASSUME_NONNULL_END
